home *** CD-ROM | disk | FTP | other *** search
/ Zoom 2 / Zoom - Release 2 (1996)(Active Software)[!].iso / games / think / grac / docs / introduction.doc < prev    next >
Text File  |  1995-09-05  |  13KB  |  294 lines

  1.  
  2.                               GRAC Introduction
  3.                               -----------------
  4.  
  5.    Before you start looking through this file, I will point out that you
  6. won't find any instructions for actually using GRAC in here. Those details
  7. are in the reference file. This file is here to explain what GRAC is all
  8. about, particularly to non-programmers who may find the concepts unfamiliar.
  9.  
  10. What is GRAC?
  11. ------------
  12.  
  13.    GRAC is a slightly dodgy acronym for GRaphic Adventure Creator. As you
  14. would expect, it is used to create graphic adventures. I don't have to
  15. explain what a graphic adventure is do I? If you don't know, go to your local
  16. computer shop and buy Monkey Island 2 or Beneath a Steel Sky, play it all
  17. the way through then come back....
  18.  
  19.    ...right, that's a graphic adventure.
  20.  
  21. So why write an adventure game?
  22. ---------------------------------------
  23.  
  24.    Writing your own graphic adventure may seem a little daunting at
  25. first, but consider the following:
  26.  
  27.    1. GRAC does a lot of the hard work, such as handling characters and the
  28.       control panel. You won't have to become a programmer, so you can
  29.       concentrate on the design.
  30.  
  31.    2. You don't have to create a 15 disk monster, even a small adventure is
  32.       worthwhile and could be released as PD.
  33.  
  34.    3. The graphics don't have to be brilliant, what counts is the gameplay.
  35.       Look at the early Lucasfilm games if you don't believe me.
  36.  
  37.    Above all, writing graphic adventures is an enjoyable and challenging
  38. hobby, and even a source of income if you're good enough at it.
  39.  
  40. Making graphic adventures
  41. -------------------------
  42.  
  43.    A graphic adventure is something like an interactive stage play. The
  44. actors (which I call characters) perform in front of a backdrop (a picture,
  45. drawn in a graphics package such as Dpaint). They use props (objects) and
  46. exit to other scenes. They also follow a script, and characters in graphic
  47. adventures can do this too. In fact, writing a graphic adventure is probably
  48. the closest you can come to making a film on your Amiga.
  49.  
  50.    Every production begins with a plot, and adventure games are no
  51. exception. The first thing that you have to do is decide on a scenario, and
  52. what is going to happen in the game. Then, give the player an objective, so
  53. that they know what they are trying to do. Of course, this could be hidden
  54. at first to add a sense of mystery, if that's what you want. After that you
  55. will need to create some characters. The most important character is the one
  56. controlled by the player. The others are commonly known as NPC's or
  57. non-player characters. Each character will need to have a personality, a
  58. purpose in the game, and a set of sprites showing what they look like,
  59. performing every action that they will need to make.
  60.  
  61. Drawing characters
  62. ------------------
  63.  
  64.    Load into a graphics program the file 'Character.iff'. These are the
  65. basic positions for a character. Note that each frame is replicated in three
  66. directions: facing right, into, and out of the screen. There is no need for
  67. the fourth direction because the right-facing frames can be flipped
  68. horizontally. There are 8 frames of the character walking, one reaching up,
  69. across and down (optional) and one of the character standing, with the head
  70. separate. The head is drawn in four positions, to animate it when the
  71. character speaks. To this you can add any other animations, but these will
  72. be in one direction only. Note that underneath each frame is a dot. This is
  73. the 'hot spot' (or the 'handle' as dpaint calls it). When the character is
  74. drawn at a point on screen, it is positioned using the hot spot. It is very,
  75. very important that the hot spot is set to the same relative position in
  76. every frame, otherwise the animation will jump all over the place.
  77.  
  78.    (technical note: characters move 5 pixels per frame when walking across
  79. the screen, and three pixels per frame walking into or out of the screen.)
  80.  
  81.    Animating characters takes practise, so use my character as a guide. You
  82. could even use the ready made character in your own game, until you are
  83. ready to draw your own.
  84.  
  85.    A brief note about the colour palette: This is taken from the room, not
  86. the character, so make sure that the colours are the same. I usually draw
  87. all of the characters using the last 16 colours, and keep these the same in
  88. every room. The first 16 colours can then be altered to suit the particular
  89. room without affecting the characters. Colours 17,18 and 19 are also used
  90. for the mouse pointer, and this applies to the control panel too.
  91.    AGA is not supported yet by AMOS. As soon as it is, it will also be
  92. available in GRAC.
  93.  
  94.    To include the character in a game, each frame must be 'grabbed' in GRAC's
  95. character editor. This is something like picking up a brush in Dpaint. The
  96. character is then saved as a single file and is ready for use.
  97.  
  98. Designing the control panel
  99. ---------------------------
  100.  
  101.    Most adventures have one of these. The control panel is a section of the
  102. screen which contains:
  103.  
  104.    1. Buttons for all available verbs,
  105.  
  106.    2. A window for the inventory and other text.
  107.  
  108.    3. A message line.
  109.  
  110.    A verb, as you probably know, is an action word. Consequently, the verbs
  111. control all of the actions that the player's character can make. For example,
  112. If the player selected the verb 'examine', then clicked on an object, GRAC
  113. would print a piece of text describing that object. Other verbs could be
  114. 'use', 'take' (no need for 'drop', usually), or 'talk'.
  115.  
  116.    The player's inventory (a list of all object currently being carried) will
  117. be printed in the text window. No graphical inventory in this version of
  118. GRAC, sorry. Text will also be printed here when required.
  119.  
  120.    The message line is for GRAC's own use, for printing the name of the
  121. object under the mouse pointer, among other things.
  122.  
  123.    (Graphical note: the control panel has its own colour palette,
  124. independent of the room or characters. However, colours 17,18 and 19 are
  125. still used for the mouse pointer. If you are using Dpaint you will have to
  126. pick up the panel and save it as a brush so that it is smaller then the full
  127. screen.)
  128.  
  129. The inventory
  130. -------------
  131.  
  132.    This is a list of every item that the player can possess during
  133. the adventure. These items are similar to any other kind of object, but they
  134. don't have a physical position and are always available to the player.
  135.    The player can acquire items by picking them up. There are also script
  136. (see 'scripts', next section) commands for adding or removing inventory
  137. items.
  138.  
  139. Drawing a room
  140. --------------
  141.  
  142.    This is the real test of your artistic talent. If you can't draw you
  143. could:
  144.  
  145.    1. Get someone else who can, or
  146.  
  147.    2. Buy a scanner and use photographs, or artwork on paper, or
  148.  
  149.    3. Draw it anyway. As I have said before, top-class artwork is nice but
  150.       not essential, or
  151.  
  152.    4. Go and write a text adventure (sad person).
  153.  
  154.    When you are producing a picture, note that:
  155.  
  156.    1. You must keep the palette consistent with any characters to be used on
  157.       that screen.
  158.  
  159.    3. Strong shadows and reflections should be avoided or the characters
  160.       will look like vampires. (ie. they don't have shadows or reflections.)
  161.  
  162.    4. Any object that the characters can go behind will need to be cut out
  163.       as a brush and saved on a separate screen. (More on this later.)
  164.  
  165. Moving characters (Walk zones)
  166. ------------------------------
  167.  
  168.    When the player clicks on a point on the screen, the PC (player character)
  169. has to walk there. This sounds simple enough, and so it is, but first GRAC
  170. needs to know which parts of the screen the character can walk on. These
  171. areas are defined using zones.
  172.  
  173.    A zone is a rectangular area on the screen. Of course, floors are not
  174. always rectangular so it is possible to join several zones together to cover
  175. the entire area. Zones are edited in the room editor of GRAC.
  176.  
  177. Points
  178. ------
  179.  
  180.    A point is a composite entity comprising the following:
  181.  
  182.       1. An X and Y coordinate on the screen (set using the mouse)
  183.  
  184.       2. A direction for a character to face.
  185.  
  186.    Characters can be positioned at points or can be made to walk to them.
  187. Every game will need at least one point in the starting room, for the initial 
  188. position of the character. The starting position is set using the 'start' 
  189. button in the main menu.
  190.       
  191.    At this point you should be able to put together a running GRAC game
  192. featuring a character walking around a room. Hardly ground-breaking stuff,
  193. but it's a start. The problem now is that the player cannot interact with
  194. anything. This is achieved by adding objects.
  195.  
  196. Objects
  197. -------
  198.  
  199.    The main purposes of objects are:
  200.  
  201.    1. As something that characters can walk behind, to make a scene appear
  202.       more three dimensional.
  203.  
  204.    2. To add a background animation.
  205.  
  206.    3. To be combined with verbs so that the player can interact with the
  207.       game environment.
  208.  
  209.    The first and second uses require foreground objects. The third could use
  210. foreground or background objects. The difference between the two is that
  211. foreground objects are displayed in front of the picture while background
  212. objects are part of the picture. Foreground objects need to be grabbed in
  213. the same way as characters, but using the object editor. Set the hot spot to
  214. the bottom centre, where the object touches the ground.
  215.  
  216.    Objects higher up on the screen are displayed behind objects lower down.
  217. This applies to characters too. This effect provides a kind of perspective
  218. so that objects in front will appear closer.
  219.  
  220.    Objects can also be animated. This will be explained later.
  221.  
  222.    Foreground objects have two disadvantages. The first is that they take up
  223. a lot of memory, the second is that if too many are displayed at once the
  224. game will slow down. If an object does not need to be animated or appear in
  225. front of anything a background object can be used instead. Background
  226. objects do not need to be grabbed and take up no processor time. In most
  227. ways the two types of object are identical; in fact the player will not know
  228. the difference.
  229.  
  230. Interaction
  231. -----------
  232.  
  233.    For an object to register under the mouse pointer it needs to have a name.
  234. For example, if you create an object and call it 'toothbrush', the word
  235. 'toothbrush' will appear in the message line when the mouse pointer is moved
  236. over the object. Generally, a character will need to walk up to an object
  237. before doing anything with it, so GRAC needs to know where the character has
  238. to walk to. This is achieved by giving the object a 'base', which is a
  239. position on the floor near the object.
  240.  
  241.    This is all very well; now the player can look at the toothbrush and walk
  242. up to it. It is a good idea to give all relevant objects descriptions which
  243. are printed when the player selects examine (or a verb to that effect). The
  244. description is known as a 'string' (a string of letters).
  245.  
  246.    You may want the player to be able to pick up the toothbrush. This
  247. requires two things.
  248.  
  249.    1. An inventory item called 'toothbrush'.
  250.  
  251.    2. A flag.
  252.  
  253.    Oh no, what's a flag? And what has it got to do with toothbrushes? Well,
  254. flags are used for signalling. In this case it is a signal to GRAC that the
  255. toothbrush has been taken, so to make it disappear from the screen. Flags are
  256. referred to by number. This is the first flag, so call it number 1. So flag
  257. number 1 means 'the toothbrush isn't there any more'. Flag number 2 may mean
  258. something completely different. There are 1000 flags; plenty for all
  259. occasions. You actually have to input '-1' for the flag number, for reasons
  260. explained in the reference file.
  261.  
  262.    (technical note: A flag is actually a variable, and the numbers refer to
  263. an array with 1000 elements. A value of zero means FALSE, any other value
  264. means TRUE. The default is FALSE.)
  265.  
  266.    Having picked up the toothbrush, the player may want to use it. Any
  267. actions except for examining something or picking it up are dealt with using
  268. scripts, described in the section below.
  269.  
  270. Scripts
  271. ------- 
  272.  
  273.    A script is a short program in GRAC's built-in language. There are many
  274. commands available, designed to cope with almost anything that could happen
  275. in an adventure. Scripts can be called by a variety of events, such as:
  276.  
  277.    A new room being loaded,
  278.  
  279.    A character performing an action,
  280.  
  281.    A character walking into a certain area on screen,
  282.  
  283.    Another script.
  284.  
  285.    Once the script is running, you are in complete control of what happens
  286. next. Scripts can make characters walk and talk, start animations, control
  287. sound effects.... the possibilities are endless.
  288.  
  289.    For a list of all of the commands, look at the 'commands' file.
  290.  
  291.    In this file I have provided an overview of GRAC, which should be enough
  292. to get you started. Full instructions are available in the 'reference' file.
  293.  
  294.